package com.yanjiali.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Package: com.yanjiali.feign
 * @Author: yanjiali
 * @Created: 2024/6/16 21:46
 * 获取token的feign接口
 */
@FeignClient(value = "authorization-server")    //访问这个微服务
public interface OAuth2FeignClient {

    @PostMapping("/oauth/token")
    ResponseEntity<JwtToken> getToken(
            @RequestParam("grant_type") String grantType,   //授权类型
            @RequestParam("username") String username,  //用户名称
            @RequestParam("password") String password,  //用户的密码
            @RequestParam("login_type") String loginType,    //登录的类型
            @RequestHeader("Authorization") String basicToken // Basic Y29pbi1hcGk6Y29pbi1zZWNyZXQ= 由第三方客户端信息加密出现的值
    );
}
